This invention relates to a method for causing "name directed" communications in a data communication network to be transferred selectively across bridging and/or gateway elements which respectively link separate communication channels and/or media within the network. As just used, the term "name directed" is intended to refer to communications which are directed to logical names rather than to specific locations (addresses) in the network. Such names are associatable with a variety of entities within the network, including physical objects (computers, their I/O attachments, human operators, network access adaptors, etc.) and less tangible objects such as programs and data sets. For reasons which will become apparent as this description progresses, this invention operates most effectively in local area type network environments.
In such environments, data processing entities located at various network nodes (a node being defined herein as a point of coupling to a communication medium or channel) may operate in a distributed mode to establish unique and non-unique name associations for entities served through respective nodes, and also to establish communication sessions (i.e. logical connections) between respectively served entities, without requiring intermediate translations of related communications through shared processing entities containing directory tables relating all names to physical address locations (refer to the above cross-referenced patent applications). Such "related communications", as disclosed in the referenced applications, are termed Name Check and Call Name Check messages, and are respectively used for enabling the processing system at an originating node to determine: (a) if adoption of a name would conflict with uses of the same name elsewhere in the network; and (b) if a called object of a communication session is reachable in the network by a name and distinguishable unambiguously from other entities. These messages are passed from originating nodes to network media and/or channels, and examined by processing equipment at all respectively linked nodes. Each examining node performs a lookup comparison between a name in the message and names in a local Name Table (the latter representing names adopted for locally attached entities), and returns an acknowledging message if a match is encountered. The acknowledgements are used by the originating equipment to determine the action to take with respect to related name adoption and session establishment processes (complete or abort).
The present invention concerns a method for selectively controlling the handling of such name checking communications, and related acknowledgements, across bridging/gateway boundaries within the network. In the absence of present controls, the originating equipment would be responsible for defining hop count parameters restricting the passage across such boundaries (in order to avoid the possibility of having such communications circulate redundantly through "loops" formed by sequentially linked media/channels), and this would require considerable storage of information associated with network topology at all network nodes. Furthermore, the present restrictions permit networks to be dynamically expanded, by joinder of sub-networks associated with separate media/channels through added bridges, without inconveniencing users by requiring reestablishment of name associations and yet avoiding problems which would otherwise be encountered where the same name is used on a unique basis in plural sub-networks.
In the above-mentioned "preferred" local network environment, equipment at any network node may use a "datagram" type message to distribute information restrictively to a select group of entities identified by a name contained in the message. Such messages differ from universally broadcast messages in that they require attention only at nodes serving the members of the named entity group (refer to the above-referenced "Non-Unique Names" patent application by Feigenbaum et al.). The present invention makes special use of such datagram type messages for controlling handling of name creation and session establishment communications across bridges and gateways linking sub-networks formed by equipment coupled to single media or channels (such sub-networks also being referred to herein as "primitive networks", and distinguished thereby from "complex networks" characterized as networks formed by linkage of two or more primitive networks).
One difficulty with managing the use of distributively created names in such networks is that as primitive networks are joined into larger complex networks, name associations adopted before the joinder may become ambiguous. Although this could be avoided by requiring cancellation and recreation of all name associations at joinder, this could be unwieldy or impractical in networks containing thousands of entities and name associations.
Another problem is that joinder of primitive networks gives rise to the possibility of linking three or more media and/or channels serially to form redundant circulation loops. It is possible to avoid redundant circulation of name-directed communications in such loops, by requiring the originator of each such communication to add to its message a "hop count" parameter limiting the number of bridges/gateways through which that communication can pass. However, this would require equipment at every network node to be able to store information effectively defining the entire topology of the network (which would be a heavy storage burden for such equipment), and such information would have to be changed with each physical change of the network configuration (a sizable communication burden).